<template>
  <div o-Container>
    <!-- <div class="head">
      <span class="company"></span>
      <span class="menu" onclick="window.open('https://www.herodoo.com','_blank')">公司网站</span>
      <span class="menu" onclick="window.open('https://www.herodoo.com','_blank')">产品功能</span>
      <span class="menu" onclick="window.open('https://www.herodoo.com','_blank')">集团介绍</span>
      <span class="menu" onclick="window.open('https://www.herodoo.com','_blank')">联系我们</span>
    </div> -->
    <!-- <div class="panel">
      <div class="title">
        <div class="logo"></div>
      </div>
      <div class="login">
        <div id="txt_UserName">
          <el-input v-model="octopus.passport.name" placeholder="用户名"></el-input>
        </div>
        <div id="txt_Password">
          <el-input v-model="octopus.passport.password" placeholder="密码" v-on:keyup.enter.native="login"
                    show-password></el-input>
        </div>
        <div id="div_Remember">
          <input id="ck_Remember" name="ck_Remember" type="checkbox" v-model="octopus.passport.remember"/>
          <label for="ck_Remember">记住密码</label>
        </div>
        <div id="btn_Login">
          <el-button type="primary" @click="login">登录系统
          </el-button>
          <div class="div_infor">
            建议使用谷歌浏览器/360极速浏览器进行浏览
          </div>
        </div>
        <div id="div_debug">
        </div>
      </div>
    </div> -->


    <div class="panel">
      <div class="logo">
        <img src="../../../../../static/skin/default/main/platform/login/img/xldlogo.png" alt="">
      </div>
      <div class="input_box">
        <div class="text" style="font-size: 2.4rem;margin-bottom: .6rem;">欢迎使用</div>
        <div class="text" style="margin-bottom: 3rem;"><span>AI权益创作</span>平台</div>
        <div id="txt_UserName">
          <el-input v-model="octopus.passport.name" placeholder="用户名"></el-input>
        </div>
        <div id="txt_Password">
          <el-input v-model="octopus.passport.password" placeholder="密码" v-on:keyup.enter.native="login"
            show-password></el-input>
        </div>
        <div id="div_Remember">
          <input id="ck_Remember" name="ck_Remember" type="checkbox" v-model="octopus.passport.remember" />
          <label for="ck_Remember">记住密码</label>
        </div>
        <div class="button" @click="login">登录系统</div>
        
      </div>
      <div class="div_infor">建议使用谷歌浏览器/360极速浏览器进行浏览</div>
    </div>


    <div class="footer" onclick="testTemplateFun();">
      <!--<img src="/static/skin/default/admin/login/img/logo.png" height="200" width="200"/>-->
      <span>上海玺乐豆科技集团有限公司</span>
      <span>客服热线: 13482458393 服务邮箱: info@herodoo.com Copyright © 2019-2024</span>
    </div>
  </div>
  <!--别名	实际键值-->
  <!-- v-on:keyup.delete	delete（删除）/BackSpace（退格）-->
  <!-- v-on:keyup.tab	Tab-->
  <!-- v-on:keyup.enter	Enter（回车）-->
  <!-- v-on:keyup.esc	Esc（退出）-->
  <!-- v-on:keyup.space	Space（空格键）-->
  <!-- v-on:keyup.left	Left（左箭头）-->
  <!-- v-on:keyup.up	Up（上箭头）-->
  <!-- v-on:keyup.right	Right（右箭头）-->
  <!-- v-on:keyup.down	Down（下箭头）-->
  <!-- v-on:keyup.ctrl	Ctrl-->
  <!-- v-on:keyup.alt	Alt-->
  <!-- v-on:keyup.shift	Shift-->
  <!-- v-on:keyup.meta	(window系统下是window键，mac下是command键)-->
</template>


<script>
//八爪鱼框架已由App.vue生成。
// import {loadtemp} from '../../assets/octopus/main.js'

export default {
  name: "login",
  data() {
    return {
      octopus: this.$parent.octopus,
    };
  },
  beforeRouteEnter(to, from, next) {
    next((vm) => {
    });
  },
  created: function () {
    let vm = this;
    this.octopus.tools.isApplet().then((res) => {
      if (res) {
        this.$router.push({
          path: "/admin/loginApplet",
          query: this.$route.query,
        });
      }
    });
    // 如果不是移动端，则跳转到web

    this.octopus.tips.debug("Login.vue执行了created事件。");
  },
  mounted: function () {
    this.octopus.tips.debug("Login.vue执行了mounted事件。");
  },
  updated: function () {
    this.octopus.tips.debug("Login.vue执行了updated事件。");
  },
  activated: function () {
    console.log("pc login");
    this.octopus.tools.isApplet().then((res) => {
      // 小程序端
      if (res) {
        this.$router.push({
          path: "/main/app/campus/login",
          query: this.$route.query,
        });
      }
      // 移动端
      else if (this.octopus.tools.isMobile()) {
        this.$router.push({
          path: "/main/app/campus/login",
          query: this.$route.query,
        });
        //this.octopus.router.jump("/main/app/building/login");
      }
      // 平台端
      else {
        // 接入蓝鸽平台，此处是自动登录方式。
        if (this.$route.query.code) {
          // 金地EIP
          if (this.$route.query.redirecturl) {
            this.loginTripartite("gemdale_eip", this.$route.query.code);
          }
          // 上海地产
          else if (this.$route.query.shdc) {
            this.loginTripartite("shdc", this.$route.query.code);
          }
          // 蓝鸽
          else {
            this.loginTripartite("lancoo", this.$route.query.code);
          }
        }
        // 如果启动单点登录模式，则清空密码，因为八爪鱼会加密密码，但是单点登录每次都要输入原始密码。
        else if (this.octopus.config.login) {
          this.octopus.passport.password = null;
        }
        // 常规登录
        else {
          // 如果账户、密码、appKey都有数据，则提交自动登录。
          if (
            !this.octopus.tools.IsNullOrEmpty(
              this.octopus.passport.name
            ) &&
            !this.octopus.tools.IsNullOrEmpty(
              this.octopus.passport.password
            ) &&
            !this.octopus.tools.IsNullOrEmpty(
              this.octopus.passport.appKey
            )
          ) {
            this.auto();
          }
        }
      }
    });
    this.octopus.tips.debug("Login.vue执行了activated事件。");
  },
  deactivated: function () {
    this.octopus.tips.debug("Login.vue执行了deactivated事件。");
  },
  // 和computed的区别在于computed只有在内部使用的变量发生变化时重新计算。
  // 而methods是只要渲染则立刻会执行。
  methods: {
    // 登录前置审核
    login: function () {
      // TODO：单点登录模式
      if (this.octopus.config.login) {
        let loginData = this.octopus.config.login;
        // 金地集团模式
        if (loginData.name == "gemdale") {
          this.loginTripartite("gemdale", this.octopus.passport.name + "," + this.octopus.passport.password);
        }
      }
      // 常规登录
      else {
        this.loginParse();
      }

      // alert( (new Date()).valueOf());
      if (false) {
        // 测试openAPI平台
        let paramData = {
          projectIds: [173.174],
          billMonth: "2023-08"
        };

        this.octopus.tools.openAPI("/ESB/Tripartite/Gemdale/bill", paramData, function (sendData) {
          // alert(JSON.stringify(sendData));
          // if (sendData.status.code == 200) {
          //   o.octopus.tips.success("学生信息已更新下发至手环。");
          // } else {
          //   o.octopus.tips.error(sendData);
          // }
          // alert(JSON.stringify(sendData));
          console.log("))))" + JSON.stringify(sendData));
        });
      }

    },
    // 登录解析函数
    loginParse: function () {
      // 提交的时候判断是否是已经加密，如果没有，则提交登录的时候对数据进行加密。
      if (!this.octopus.passport.encryption) {
        // 更新时间戳（毫秒）
        this.octopus.passport.timespan = (new Date()).valueOf();
        this.octopus.passport.password = this.octopus.tools.md5(this.octopus.passport.name
          + "marco" + this.octopus.passport.timespan + "july" + this.octopus.passport.password);
      }

      console.log(JSON.stringify(this.octopus.passport.name + "," + this.octopus.passport.password + "," + this.octopus.passport.timespan));
      // alert("log");
      // 触发登录函数
      this.auto();
    },
    auto: function () {
      let o = this;
      // 获取护照数据，不管成功与否，全部设置为true。
      this.octopus.request.security.passport.get(function (passport_data) {
        o.octopus.passport.encryption = true;
        if (
          !o.octopus.tools.IsNullOrEmpty(passport_data) &&
          passport_data.status.code == 200
        ) {
          if (
            passport_data.content &&
            passport_data.content.authorization &&
            passport_data.content.authorization.project
          ) {
            o.octopus.request.security.token.get(function (
              token_data
            ) {
              if (
                !o.octopus.tools.IsNullOrEmpty(token_data) &&
                token_data.status.code == 200
              ) {
                // 调试时打印获取到权限数据。
                o.octopus.tips.debug(
                  "Login页面Auto更新护照：" +
                  JSON.stringify(passport_data)
                );
                // 执行跳转系统内页
                o.octopus.router.jump("/main/platform/home");
              } else {
                o.octopus.tips.error(token_data);
              }
            });
          } else {
            o.octopus.tips.error(
              "请联系管理员分配正确的可访问权限"
            );
          }
        } else {
          o.octopus.tips.error(passport_data);
        }
      });
    },
    loginTripartite: function (platform, data) {
      let o = this;
      let url = "";

      // 发起请求
      if (platform == "lancoo") {
        url = "/ESB/Tripartite/LanCoo/Login?code=" + data;
      }
      // 金地JDE接口
      else if (platform == "gemdale") {
        url = "/ESB/Tripartite/Gemdale/Login?name=" + data.split(',')[0] + "&pwd=" + data.split(',')[1];
      }
      // 金地JDE接口
      else if (platform == "gemdale_eip") {
        url = "/ESB/Tripartite/Gemdale/LoginEIP?code=" + data;
      }

      // 如果匹配到
      if (!this.octopus.tools.IsNullOrEmpty(url)) {
        this.octopus.tools.openAPI(url,
          {},
          function (loginData) {
            if (
              loginData.status.code == 200 &&
              loginData.content.status.code == 200
            ) {
              o.octopus.passport.encryption = false; // 设置为未加密模式。
              // 蓝鸽
              if (platform == "lancoo") {
                o.octopus.tips.success("蓝鸽平台登录成功。");
                o.octopus.passport.name =
                  loginData.content.content.Name;
                o.octopus.passport.password =
                  loginData.content.content.Password;
                // 执行登录
                o.login();
              }
              // 金地JDE
              else if (platform == "gemdale") {
                // alert(JSON.stringify(loginData.content));
                o.octopus.tips.success("金地JDE平台登录成功。");
                o.octopus.passport.name =
                  loginData.content.content.name;
                o.octopus.passport.password =
                  loginData.content.content.password;
                o.loginParse();
              }
              // 金地EIP
              else if (platform == "gemdale_eip") {
                // TODO:
                o.octopus.tips.success("金地EIP平台登录成功。");
                o.octopus.passport.name =
                  loginData.content.content.name;
                o.octopus.passport.password =
                  loginData.content.content.password;
                // 执行登录
                o.login();

              }

              // 解析开始登录
              // alert(JSON.stringify(loginData.content.content))
            } else {
              o.octopus.tips.error(loginData.content);
            }
          }
        );
      }
      //
      else {
        this.octopus.tips.warn("参数无法识别，请确认参数合法。");
      }
    },
  },
  props: ["oData"], //接收App.vue传入的octopus对象，但是目前已经用 octopus: this.$parent.octopus代替
};
</script>

<style scoped>
@import url('../../../../../static/skin/herodoo/main/platform/login/css/base_campus.css');
</style>
